Skip to content

Write updated docs and port SEP-2663 content#2

Merged
LucaButBoring merged 21 commits into
modelcontextprotocol:mainfrom
LucaButBoring:feat/sep-2663
May 22, 2026
Merged

Write updated docs and port SEP-2663 content#2
LucaButBoring merged 21 commits into
modelcontextprotocol:mainfrom
LucaButBoring:feat/sep-2663

Conversation

@LucaButBoring
Copy link
Copy Markdown
Contributor

Writes new overview docs and ports content from modelcontextprotocol/modelcontextprotocol#2663

Comment thread schema/draft/schema.ts Outdated
Comment thread schema/draft/schema.ts Outdated
Comment thread schema/draft/schema.ts Outdated
Comment thread schema/draft/schema.ts Outdated
Comment thread schema/draft/schema.ts Outdated
Comment thread docs/specification/draft/tasks.mdx
Comment thread docs/specification/draft/tasks.mdx
Comment thread docs/specification/draft/tasks.mdx Outdated
Comment thread docs/specification/draft/tasks.mdx
Comment thread docs/overview.md
Comment thread docs/overview.md Outdated
Comment thread docs/specification/draft/tasks.mdx
Comment thread docs/specification/draft/tasks.mdx
Comment thread seps/2663-tasks-extension.md
Comment thread seps/2663-tasks-extension.md
Comment thread seps/2663-tasks-extension.md
Comment thread seps/2663-tasks-extension.md Outdated
Comment thread seps/2663-tasks-extension.md
Comment thread seps/2663-tasks-extension.md
Comment thread seps/2663-tasks-extension.md Outdated
Comment thread seps/2663-tasks-extension.md Outdated
Comment thread seps/2663-tasks-extension.md
```

The notification includes the full task object, allowing clients to access the complete task state and final results without polling the `tasks/get` method. Clients **MAY** continue polling `tasks/get` in addition to subscribing to task status notifications, but need not do so.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about Progress notifications? can these also come on this stream? We could set the _meta field to include the taskId. This would preserve existing functionality and give folks a path to partial results?

Or we can omit for now and solve later. But we should add language to expressly disallow progress notifications on this stream then.

Copy link
Copy Markdown
Contributor Author

@LucaButBoring LucaButBoring May 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Highlighting this one for @kurtisvg to chime in on — I think for now we should explicitly disallow this?

We actually have three options here:

  1. Allow progress notifications for tasks on subscriptions/listen, which is simple to implement but inconsistent with how progress works in all other cases. This is inconsistent with subscriptions/listen in that it imposes a disjoint requirement.
  2. Disallow it, but continue to allow it piecemeal over SSE responses from individual tasks/get requests, which I've done and it's not easy, but this is also the status quo and is consistent with the subscriptions/listen spec.
  3. Disallow it, and also disallow it over tasks/get: This is what I think we should do — it means progress effectively isn't usable with Tasks anymore, but leaves the door open for us to find a better home for progress information in Tasks later. This is inconsistent with subscriptions/listen in that it is more restrictive.

I'm going to disallow it explicitly period for now, but I'm laying out the options here so we can have informed discussions about it.

edit: disallowed in a0824a2

Comment thread seps/2663-tasks-extension.md
Comment thread seps/2663-tasks-extension.md
Comment thread seps/2663-tasks-extension.md
@LucaButBoring
Copy link
Copy Markdown
Contributor Author

Addressed all feedback up to this point.

CaitieM20
CaitieM20 previously approved these changes May 22, 2026
Copy link
Copy Markdown
Contributor

@CaitieM20 CaitieM20 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - looks like the schema.json needs to be regenerated missing a couple of the notification updates.

Check mode previously compared the gitignored intermediate
schema/draft/generated/schema.ts against fresh output, then wrote a
temp file under that same directory to dynamic-import for JSON Schema
generation. On fresh checkouts (every CI run, since schema/**/generated/
is gitignored) the directory does not exist, so the temp-file write
crashed with ENOENT before reporting any real result. Local runs hid
the bug because once a developer runs the generator the directory
sticks around.

Drop the comparison against the gitignored intermediate (it cannot be
stale on CI by definition) and check only the committed schema.json.
The Zod schemas file is now written unconditionally so the dynamic
import resolves.
@LucaButBoring LucaButBoring merged commit 29f83d5 into modelcontextprotocol:main May 22, 2026
1 check passed
@LucaButBoring LucaButBoring deleted the feat/sep-2663 branch May 22, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants